# python程序在加载的时候 会给解释器内部的需要的内置一些变量加载 加载的位置叫内置名称空间
# 接下来就开始执行你自己的py文件 你自己创建的 在py文件中的这些变量统一放在全局名称空间中
# 当我们程序执行到函数的时候 函数内部会有自己的变量 python会为每一个正在执行的函数单独开辟内存
# a = 10

# def func():
#     a = 20
#     print(a)


# func()
# print(a)
# 内置名称空间 python自己的内容
# 全局名称空间 全局变量
# 局部名称空间 在函数被调用的时候 当函数执行完毕的时候 会被回收
# 主要存放自己函数的变量

# 作用域 一个变量能够发挥作用的范围 能在哪调用
# 全局作用域 整个py文件中都可以随意的使用  包含全局名称空间+内置名称空间
# 局部作用域 只能在局部名称空间中使用的
a = 10
# # 变量的搜索路径 先找自己 然后找外层 最后找内置

# print(a)  # 全局名称空间中的内容可以在全局作用域中使用
# def func():
#     print(a)  # 全局名称空间中的内容可以在局部作用域中也可以使用


# func()

# globals可以查看全局作用域中的内容
# 全局作用域内容 全局名称空间+内置名称空间
print(globals())

# 查看当前作用域
print(locals())